table of contents
SIGRETURN(2) | Руководство программиста Linux | SIGRETURN(2) |
ИМЯ¶
sigreturn - возвращается из обработчика сигнала и очищает кадр стека
ОБЗОР¶
int sigreturn(unsigned long __unused);
ОПИСАНИЕ¶
При создании кадра стека для обработчика сигнала ядро Linux посылает в этот стек вызов функции sigreturn() таким образом, чтобы при возвращении вызова из обработчика право управления было передано sigreturn().
Вызов sigreturn() очищает всё что накопилось — изменяет маску сигнала процесса, переключает стеки (см. sigaltstack(2))— порядок вызова обработчиков сигнала: он восстанавливает маску сигнала процесса, переключает стеки и восстанавливает контекст процесса (регистры, флаги процессора), так что процесс непосредственно возобновляет исполнение с точки где был прерван сигналом.
ВОЗВРАЩАЕМОЕ ЗНАЧЕНИЕ¶
sigreturn() не возвращает значений.
ФАЙЛЫ¶
/usr/src/linux/arch/i386/kernel/signal.c
/usr/src/linux/arch/alpha/kernel/entry.S
СООТВЕТСТВИЕ СТАНДАРТАМ¶
Вызов sigreturn() есть только в Linux. Не рекомендуется использовать ее в программах, переносимых в другие системы.
ЗАМЕЧАНИЯ¶
Вызов sigreturn() используется ядром для реализации обработчиков сигнала. Его ни в коем случае нельзя вызывать непосредственно. Более того, значение и способ использования аргумента __unused зависит от архитектуры.
СМОТРИТЕ ТАКЖЕ¶
2008-06-26 | Linux |